﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using TrocaFigurinhas.Models;
using TrocaFigurinhas.Models.BusinessLayer;

namespace TrocaFigurinhas.Controllers
{
    public class BuscaFigurinhasController : Controller
    {
        //
        // GET: /BuscaFigurinhas/

        public ActionResult Index()
        {
            return View();
        }

        [HttpPost]
        public ActionResult Index(BuscaFigurinhasModel buscaFigurinhas)
        {
            BuscaFigurinhasBL buscaFigurinhasBL = new BuscaFigurinhasBL();
            if (buscaFigurinhas.FigurinhaDesejada == null && buscaFigurinhas.FigurinhaOferecida == null)
            {
                ModelState.AddModelError("", "Preencha pelo menos um dos campos.");
            }
            else {
                
                if (buscaFigurinhas.FigurinhaDesejada != null) 
                {
                    try
                    {
                        buscaFigurinhas.OfertasFigurinhaDesejada
                            = buscaFigurinhasBL.BuscarFigurinhasDesejadas(User.Identity.Name
                                                                          , buscaFigurinhas.FigurinhaDesejada);

                    }
                    catch(BusinessException ex) {

                        ModelState.AddModelError("", ex.Message);
                        buscaFigurinhas.OfertasFigurinhaDesejada = null;

                    }
                        
                    

                }
                if (buscaFigurinhas.FigurinhaOferecida != null)
                {
                    try
                    {
                        buscaFigurinhas.OfertasFigurinhaOferecida
                            = buscaFigurinhasBL.BuscarFigurinhasOferecidas(User.Identity.Name
                                                                          , buscaFigurinhas.FigurinhaOferecida);

                    }
                    catch(BusinessException ex) {

                        ModelState.AddModelError("", ex.Message);
                        buscaFigurinhas.OfertasFigurinhaOferecida = null;

                    }
                }
            }
            return View(buscaFigurinhas);
        }
    }
}
